if db_id('BDCORHYFAR') is not null
	begin
		use master
		drop database BDCORHYFAR
	end

create database BDCORHYFAR
go

use BDCORHYFAR
go

--Creacion de Tablas
--------------------
--------------------

CREATE TABLE DEPARTAMENTO( 
	COD_DEPARTAMENTO char(6) not null primary key,
	DESC_DEPARTAMENTO varchar(25),
	COD_BAJA_DEPARTAMENTO char(1) not null
	)

CREATE TABLE PROVINCIA(
	COD_PROVINCIA char(6) not null primary key,
	DESC_PROVINCIA varchar(25),
	COD_BAJA_PROVINCIA char(1) not null
	)
	
CREATE TABLE DISTRITO(
	COD_DISTRITO char(6) not null primary key,
	DESC_DISTRITO varchar(25),
	COD_BAJA_DISTRITO char(1) not null
	)
		

CREATE TABLE MATERIALES(
	COD_MATE char(6) not null primary key,
	DESC_MATE varchar(25),
	STOCK_MATE varchar(25),
	PRECIO_MATE money,
	COD_BAJA_MATE CHAR(1) not null
	)
	
CREATE TABLE TRABAJADORES(
	COD_TRAB char(6) not null primary key,
	DNI_TRAB varchar(10),
	NOM_TRAB varchar(20),
	APE_PAT_TRAB varchar(20),
	APE_MAT_TRAB varchar(20),
	TELEF_DOM_TRAB varchar(10),
	TELEF_CEL_TRAB varchar(10),
	COD_DEPARTAMENTO char(6) references DEPARTAMENTO,
	COD_PROVINCIA char(6) references PROVINCIA,
	COD_DISTRITO char(6) references DISTRITO,
	DIRECCION_TRAB varchar(30),
	CARGO_TRAB varchar(20),
	FEC_NAC_TRAB datetime
	)
	
CREATE TABLE MARCA_MAQ(
	COD_MARCA char(6) not null primary key,
	DESC_MARCA varchar(15),
	COD_BAJA_MARCA CHAR(1) not null
	)
	
CREATE TABLE MAQUINARIA(
	COD_MAQ char(6) not null primary key,
	COD_MARCA char(6) references MARCA_MAQ,
	CAPACIDAD_MAQ varchar(9),
	PLACA_MAQ varchar(9),
	PRECIO_ALQUILER_MAQ money,
	COD_TRAB char(6) references TRABAJADORES,
	)
	
CREATE TABLE TIPO_PLAN_CONTROL(
	COD_TIPO_PC	char(6) not null primary key,
	DESC_TIPO_PC varchar(15),
	COD_BAJA_TIPO_PC CHAR(1) not null
	)

CREATE TABLE EVALUACION( --EVALUADO POR
	COD_EVALU	char(6) not null primary key,
	DESC_EVALU	varchar(20)	
	)
	
CREATE TABLE ACTIVIDAD(
	COD_ACTIV char(6) not null primary key,
	DESC_ACTIV varchar(30),
	COD_BAJA_ACTIV CHAR(1) not null
	)
	
CREATE TABLE TIPO_PLAN_ACCION(
	COD_TIPO_PA char(6) primary key,
	DESC_TIPO_PA varchar(15),
	COD_BAJA_TIPO_PA CHAR(1) not null
	)	
CREATE TABLE PLAN_ACCION(
	COD_PA char(6) not null primary key,
	FEC_CONTRATO_PA datetime,
	FEC_INICO_OBRA_PA datetime,
	FECHA_FIN_OBRA_PA datetime,
	COD_TIPO_PA char(6) references TIPO_PLAN_ACCION,	
	COD_TRAB char(6) references TRABAJADORES,
	DESCRIP_CASO_PA varchar(1000),
	PRIMERA_ACCION_PA varchar(1000),
	CAUSAS_CASO_PA varchar(1000),
	POSIBLE_ACCION_PA varchar(1000),
	ACCION_PREVENTIVA_PA varchar(1000),
	ACCION_VERIFICACION_PA varchar(1000),
	CONCLUSION_PA varchar(1000)
)

CREATE TABLE CLIENTE_TEMP(
	CODCLI_TEMP int not null IDENTITY(1,1) primary key,	
	NOMCLI_TEMP varchar(100),
	APE_PATCLI_TEMP varchar(100),
	APE_MATCLI_TEMP varchar(100),		
	TELEF_CELCLI_TEMP varchar(100),
	EMAILCLI_TEMP varchar(100),		
	EMPRESACLI_TEMP varchar(100),
	MENSAJECLI_TEMP varchar(500)	
)


CREATE TABLE CLIENTE(
	CODCLI_TEMP int,
	COD_CLI char(6) not null primary key,	
	NOM_CLI varchar(20),
	APE_PAT_CLI varchar(20),
	APE_MAT_CLI varchar(20),
	TIPO_DOC_CLI char(10),
	DNI_CLI char(10),
	RUC_CLI char(10),
	TELEF_DOM_CLI varchar(10),
	TELEF_CEL_CLI varchar(10),
	TELEF_TRAB_CLI varchar(10),
	EMAIL_CLI varchar(50),
	COD_DEPARTAMENTO char(6) references DEPARTAMENTO,
	COD_PROVINCIA char(6) references PROVINCIA,
	COD_DISTRITO char(6) references DISTRITO,
	DIRECCION_CLI varchar(30),
	EMPRESA_CLI varchar(20),
	COD_PA char(6) references PLAN_ACCION
)

CREATE TABLE PLAN_CONTROL(
	COD_PC char(6) not null primary key,
	FECHA_PC datetime,
	COD_CLI char(6) references CLIENTE,
	COD_MATE char(6) references MATERIALES,
	COD_TRAB char(6) references TRABAJADORES,
	--refCliePC varchar(30),
	--refClie varchar(30),
	--modCliePC varchar(30),
	--modPC varchar(30)
	)

CREATE TABLE DETALLE_PLAN_CONTROL(
	COD_PC char(6) not null references PLAN_CONTROL,
	NRO_FLUJO_DPC char(6),
	FASE_FLUJO_DPC varchar(25),
	COD_MAQ char(6) references MAQUINARIA,
	PARAMETRO_CARACT_DPC varchar(100),
	CARACT_PROD_DPC varchar(100),
	COD_TIPO_PC char (6) references TIPO_PLAN_CONTROL,
	ESPECIF_METODO_DPC varchar (30),
	TECNICA_EVALU_DPC varchar (30),
	FRECUENCIA_TAMA_DPC varchar (30),
	EVALUADOR_DPC VARCHAR(30),
	COD_EVALU char (6) references EVALUACION,	
	METODO_ANAL_DPC varchar (25),
	REACCION_SITU_DPC varchar (25),
	primary key(COD_PC,NRO_FLUJO_DPC)
	)

CREATE TABLE CONTROL_MAQ(
	COD_CMAQ char(6) not null primary key,
	FECHA_CMAQ datetime,
	COD_MAQ char(6) references MAQUINARIA,
	COD_ACTIV char(6) references ACTIVIDAD,
	COD_TRAB char(6) references TRABAJADORES
	)

CREATE TABLE DETALLE_CONTROL_MAQ(
	COD_CMAQ char(6) not null references CONTROL_MAQ,
	COD_DCMAQ char(6) not null,
	COD_PA char(6) references PLAN_ACCION,
	HORAINIAM_DCMAQ datetime,
	HORAFINAM_DCMAQ datetime,
	HORAINIPM_DCMAQ datetime,
	HORAFINPM_DCMAQ datetime,
	TOTALHORAS_DCMAQ dec check (totalhoras_DCMAQ <= 10.00),	
	COD_CLI char(6) references CLIENTE,
	primary key (COD_CMAQ, COD_DCMAQ)
	)

CREATE TABLE TIPO_OBRA(
	COD_TIPO_OBRA char(6) not null primary key,
	DESC_TIPO_OBRA varchar(25),
	COD_BAJA_TIPO_OBRA char(1) not null
	)

CREATE TABLE OBRA(
	COD_OBRA char(6) not null primary key,
	COD_TIPO_OBRA char(6) references TIPO_OBRA,
	DESC_OBRA varchar(25),
	DURACION_OBRA varchar(10),
	COSTO_OBRA money,
	COD_BAJA_OBRA char(1) not null
	)

CREATE TABLE PRESUPUESTO(
	COD_PRE char(6) not null primary key,
	COD_CLI char(6) references CLIENTE,
	COD_OBRA char(6) references OBRA,
	COD_MATE char(6) references MATERIALES,
	CANT_MATE_PRE varchar(25),
	COSTO_TOTAL_MATE_PRE money,
	CANT_TRAB_PRE varchar(25),
	)


	create table perfil(
id_perfil varchar(20) primary key,
nombre_perfil varchar(20)
)


create table usuario(
	cod_usuario varchar(20) not null primary key,
	clave_usuario varchar(20),
	id_perfil varchar(20) references perfil,
	estado_usuario int 
	)


	select * from CLIENTE_TEMP


	
SELECT count(TABLE_NAME) 
FROM INFORMATION_SCHEMA.Tables